Các ki n trúc v i t p l nh ph c t p CISC (Complex Instruction Setế ớ ậ ệ ứ ạ Computer) được nghĩ ra t nh ng năm 1960. Vào th i k này, ngừ ữ ờ ỳ ười ta nh nậ th y các chấ ương trình d ch khó dùng các thanh ghi, r ng các vi l nh đị ằ ệ ược th cự hi n nhanh h n các l nh và c n thi t ph i làm gi m đ dài các chệ ơ ệ ầ ế ả ả ộ ương trình. Các đ c tính n y khi n ngặ ầ ế ười ta u tiên ch n các ki u ơ nh ô nh và ô nh ư ọ ể ớ ớ ớ thanh ghi, v i nh ng l nh ph c t p và dùng nhi u ki u đ nh v . Đi u này d nớ ữ ệ ứ ạ ề ể ị ị ề ẫ t i vi c các l nh có chi u dài thay đ i và nh th thì dùng b đi u khi n viớ ệ ệ ề ổ ư ế ộ ề ể chương trình là hi u qu nh t. ệ ả ấ
B ng II.3 cho các đ c tính c a vài máy CISC tiêu bi u. Ta nh n th y cả ặ ủ ể ậ ấ ả
ba máy đ u có đi m chung là có nhi u l nh, các l nh có chi u dài thay đ i.ề ể ề ệ ệ ề ổ Nhi u cách th c hi n l nh và nhi u vi chề ự ệ ệ ề ương trình được dùng.
Ti n b trong lãnh v c m ch k t (IC) và k thu t d ch chế ộ ự ạ ế ỹ ậ ị ương trình làm cho các nh n đ nh trậ ị ước đây ph i đả ược xem xét l i, nh t là khi đã có m t kh oạ ấ ộ ả sát đ nh lị ượng v vi c dùng t p l nh các máy CISC. ề ệ ậ ệ
Năm s n xu t ả ấ S l nh ố ệ B nh vi chộ ớ ương trình Chi u dài ề l nh (tính b ng ệ ằ bit) K thu t ch t o ỹ ậ ế ạ Cách th c hi n ự ệ l nh ệ
Dung lượng cache
1973 208 208 420 KB 16 48 ECL MSI Thanh ghi thanh ghi Thanh ghi b ộ nh ớ B nh b nhộ ớ ộ ớ 64 KB 1978 303 480 KB 16 456 TTl MSI Thanh ghi thanh ghi Thanh ghi b nhộ ớ B nh b nhộ ớ ộ ớ 64 KB 1982 222 64 KB 6 321 NMOS VLSI Ngăn x p ế B nh b ộ ớ ộ nhớ 0
B ng II.3:ả Đ c tính c a m t vài máy CISC ặ ủ ộ
Ví d , chụ ương trình d ch đã bi t s d ng các thanh ghi và khơng có sị ế ử ụ ự
khác bi t đáng k nào khi s d ng ơ nh cho các vi chệ ể ử ụ ớ ương trình hay ơ nh choớ các chương trình. Đi u này d n t i vi c đ a vào khái ni m v m t máy tínhề ẫ ớ ệ ư ệ ề ộ v i t p l nh rút g n RISC vào đ u nh ng năm 1980. Các máy RISC d a chớ ậ ệ ọ ầ ữ ự ủ
y u trên m t t p l nh cho phép th c hi n k thu t ng d n m t cách thíchế ộ ậ ệ ự ệ ỹ ậ ố ẫ ộ h p nh t b ng cách thi t k các l nh có chi u dài c đ nh, có d ng đ n gi n,ợ ấ ằ ế ế ệ ề ố ị ạ ơ ả d gi i mã. Máy RISC dùng ki u th c hi n l nh thanh ghi thanh ghi. Ch cóễ ả ể ự ệ ệ ỉ các l nh ghi ho c đ c ô nh m i cho phép thâm nh p vào ô nh . B ng II.4ệ ặ ọ ớ ớ ậ ớ ả di n t ba m u máy RISC đ u tiên: m u máy c a IBM (IBM 801) c aễ ả ẫ ầ ẫ ủ ủ Berkeley (RISC1 c a Patterson) và c a Stanford (MIPS c a Hennessy). Ta nh nủ ủ ủ ậ th y c ba máy đó đ u có b đi u khi n b ng m ch đi n (khơng có ơ nh viấ ả ề ộ ề ể ằ ạ ệ ớ
chương trình), có chi u dài các l nh c đ nh (32 bits), có m t ki u thi hànhề ệ ố ị ộ ể l nh (ki u thanh ghi thanh ghi) và ch có m t s ít l nhệ ể ỉ ộ ố ệ .
B x lý ộ ử IBM 801 RISC1 MIPS
Năm s n xu t ả ấ 1980 1982 1983 S l nh ố ệ 120 39 55 Dung lượng b ộ nh vi chớ ương trình 0 0 0 Đ dài l nh (tính ộ ệ b ng bit) ằ 32 32 32
K thu t ch t oỹ ậ ế ạ ECL MSI NMOS VLSI NMOS VLSI Cách th c hi n ự ệ l nh ệ Thanh ghithanh ghi Thanh ghithanh ghi Thanh ghithanh ghi
B ng II.4 ả : Đ c tính c a ba m u đ u tiên máy RISC ặ ủ ẫ ầ
Tóm l i, ta có th đ nh nghĩa m ch x lý RISC b i các tính ch t sau: ạ ể ị ạ ử ở ấ Có m t s ít l nh (thơng thộ ố ệ ường dưới 100 l nh ). ệ
Có m t s ít các ki u đ nh v (thơng thộ ố ể ị ị ường hai ki u: đ nh v t c thìể ị ị ứ và đ nh v gián ti p thơng qua m t thanh ghi). ị ị ế ộ
Có m t s ít d ng l nh (m t ho c hai) Các l nh đ u có cùngộ ố ạ ệ ộ ặ ệ ề chi u dài. ề
Ch có các l nh ghi ho c đ c ơ nh m i thâm nh p vào b nh . ỉ ệ ặ ọ ớ ớ ậ ộ ớ Dùng b t o tín hi u đi u khi n b ng m ch đi n đ tránh chu kộ ạ ệ ề ể ằ ạ ệ ể ỳ
gi i mã các vi l nh làm cho th i gian th c hi n l nh kéo dài. ả ệ ờ ự ệ ệ
B x lý RISC có nhi u thanh ghi đ gi m b t vi c thâm nh p vàoộ ử ề ể ả ớ ệ ậ b nh trong. ộ ớ
Ngoài ra các b x lý RISC đ u tiên th c hi n t t c các l nh trong m tộ ử ầ ự ệ ấ ả ệ ộ chu k máy. ỳ
B x lý RISC có các l i đi m sau : ộ ử ợ ể
Di n tích c a b x lý dùng cho b đi u khi n gi m t 60% (choệ ủ ộ ử ộ ề ể ả ừ các b x lý CISC) xu ng cịn 10% (cho các b x lý RISC). Nh v y có thộ ử ố ộ ử ư ậ ể
tích h p thêm vào bên trong b x lý các thanh ghi, các c ng vào ra và b nhợ ộ ử ổ ộ ớ
cache .....
T c đ tính tốn cao nh vào vi c gi i mã l nh đ n gi n, nh cóố ộ ờ ệ ả ệ ơ ả ờ nhi u thanh ghi (ít thâm nh p b nh ), và nh th c hi n k thu t ng d n liênề ậ ộ ớ ờ ự ệ ỹ ậ ố ẫ t c và có hi u qu (các l nh đ u có th i gian th c hi n gi ng nhau và có cùngụ ệ ả ệ ề ờ ự ệ ố d ng). ạ
Th i gian c n thi t đ thi t k b đi u khi n là ít. Đi u này gópờ ầ ế ể ế ế ộ ề ể ề ph n làm gi m chi phí thi t k . ầ ả ế ế
B đi u khi n tr nên đ n gi n và g n làm cho ít r i ro m c ph iộ ề ể ở ơ ả ọ ủ ắ ả sai sót mà ta g p thặ ường trong b đi u khi n. ộ ề ể
Trước nh ng đi u l i khơng ch i cãi đữ ề ợ ố ược, ki n trúc RISC có m t sế ộ ố
b t l i: ấ ợ
¾ Các chương trình dài ra so v i chớ ương trình vi t cho b x lý CISC.ế ộ ử Đi u này do các nguyên nhân sau : ề
+ C m thâm nh p b nh đ i v i t t c các l nh ngo i tr các l nh đ cấ ậ ộ ớ ố ớ ấ ả ệ ạ ừ ệ ọ và ghi vào b nh . Do đó ta bu c ph i dùng nhi u l nh đ làm m t cơng vi cộ ớ ộ ả ề ệ ể ộ ệ nh t đ nh. ấ ị
+ C n thi t ph i tính các đ a ch hi u d ng vì khơng có nhi u cách đ nhầ ế ả ị ỉ ệ ụ ề ị v . ị
+ T p l nh có ít l nh nên các l nh khơng có s n ph i đậ ệ ệ ệ ẵ ả ược thay thế
b ng m t chu i l nh c a b x lý RISC. ằ ộ ỗ ệ ủ ộ ử
¾ Các chương trình d ch g p nhi u khó khăn vì có ít l nh làm cho có ítị ặ ề ệ l a ch n đ di n d ch các c u trúc c a chự ọ ể ễ ị ấ ủ ương trình g c. S c ng nh c c a kố ự ứ ắ ủ ỹ
thu t ng d n cũng gây khó khăn. ậ ố ẫ
¾ Có ít l nh tr giúp cho ngơn ng c p cao. ệ ợ ữ ấ
Các b x lý CISC tr giúp m nh h n các ngơn ng cao c p nh có t pộ ử ợ ạ ơ ữ ấ ờ ậ l nh ph c t p. Hãng Honeywell đã ch t o m t máy có m t l nh cho m i đ ngệ ứ ạ ế ạ ộ ộ ệ ỗ ộ t c a ngôn ng COBOL. ừ ủ ữ
Các ti n b g n đây cho phép x p đ t trong m t vi m ch, m t b x lýế ộ ầ ế ặ ộ ạ ộ ộ ử RISC n n và nhi u tốn t chun dùng. ề ề ử
Thí d , b x lý 860 c a Intel bao g m m t b x lý RISC, b làm tính v iụ ộ ử ủ ồ ộ ộ ử ộ ớ các s l và m t b t o tín hi u đ ho . ố ẻ ộ ộ ạ ệ ồ ạ